#include <bits/stdc++.h>
using namespace std;
// int main()
// {
//     double a;
//     char ch;

//     cin>>a>>ch;
//     int money=0;
//     if(ch=='y')
//     {
//         if(a<=1)money=25;
//         else if(a>1)
//         {
//             money=25;
//             a-=1;
//             double x=a-(int)a;
//             if(x==0)money+=a;
//             else money+=a+1;
//         }
//     }
//     else if(ch=='n')
//     {
//         if(a<=1)money=20;
//         else if(a>1)
//         {
//             money=20;
//             a-=1;
//             double x=a-(int)a;
//             if(x==0)money+=a;
//             else money+=a+1;
//         }
//     }
//     cout<<money<<endl;
    
    
//     return 0;    
// }

// int main() {
//     int n;
//     cin >> n;
//     int cost[n];
//     for (int i = 0; i < n; i++)cin >> cost[i];
//     // int dp[n]={0};
//     int retmin = INT_MAX;
//     for (int i = 0; i < n; i++) {
//         retmin = min(retmin, min(min(min(cost[i], cost[i + 1]), min(cost[i + 1],
//                                      cost[i + 2])), min(cost[i + 1 + 1], cost[i + 2 + 1])));
//     }
//     cout << retmin;
//     return 0;
// }
int main()
{
    string s,s1,s2;
    int m;
    cin>>m;
    cin>>s1>>s2;
    if(s1.empty()||s2.empty())return -1;
    vector<string> str;
    for(int i=0;i<m;i++)
    {
        cin>>s;
        str.push_back(s);
    }
    int minl=INT_MAX;
    for(int left=0,right=0;right<str.size();left++)
    {
        if(str[left]==s1)
        {
            right=left+1;
            while(right<str.size())
            {
                if(s2==str[right])minl=min(minl,right-left+1);
            }
        }
        else if(str[left]==s2)
        {
            right=left+1;
            while(right<str.size())
            {
                if(s1==str[right])minl=min(minl,right-left+1);
            }
        }        
    }
    if(minl==INT_MAX)
    {
        cout<< -1;
    }
    cout<<minl;
    return 0;
}